/**
 * 处理与数组相关的函数方法
 * 1.cascader对children的处理
 * 2.拉平数组
 * Tips: delArrChildren 与 flatArrayFun同时使用时，flatArrayFun需要在delArrChildren前调用
 */
/**
 * 删除数组children
 * @param {Array} ARR   // 原数组
 */
export function delArrChildren(ARR) {
  if (ARR instanceof Array) {
    for (let i = 0; i < ARR.length; i++) {
      delArrChildren(ARR[i]);
    }
    return;
  }
  if (ARR.children.length > 0) {
    for (let i = 0; i < ARR.children.length; i++) {
      delArrChildren(ARR.children[i]);
    }
  } else {
    delete ARR.children;
  }
}
/**
 * 拉平数组
 * @param {Array} ARR   // 原数组
 * @param {Array} FLATARRAY // 拉平的数组
 */
export function flatArrayFun(ARR, FLATARRAY) {
  if (ARR.length) {
    for (let i = 0; i < ARR.length; i++) {
      FLATARRAY.push(ARR[i]);
      ARR[i].children && flatArrayFun(ARR[i].children, FLATARRAY);
    }
  }
}
